# Тестовое задание

## [Backend] тестовое отборочное задание

**Разработать простое приложение для управления задачами с использованием 
Laravel:**

1. Создайте модель и миграцию для задачи.
2. Реализуйте API для создания, чтения, обновления и удаления задач.
3. Добавьте возможность фильтрации задач по статусу или дате.

## [Frontend] тестовое отборочное задание

**Разработать простое приложение таск-менеджера с использованием Vue 3, 
включая работу с vuex или pinia и vue-router.**

1. Приложение должно иметь главную страницу 
    (на главной странице переход на страницу со списком задач,
    по желанию можете дать волю своей фантазии).
2. На странице со списком задач должна быть форма создания задачи.
3. Задачи можно удалить и отредактировать. 
    При обновлении страницы должны отображаться сохранённые задачи.

## [Fullstack] тестовое отборочное задание

**Разработать простое приложение таск-менеджера с использованием Vue 3 и 
Laravel, включая работу с vuex или pinia и vue-router.**

1. Приложение должно иметь главную страницу 
    (на главной странице переход на страницу со списком задач, 
    по желанию можете дать волю своей фантазии).
2. На странице со списком задач должна быть форма создания задачи.
3. Задачи можно удалить и отредактировать. 
    При обновлении страницы должны отображаться сохранённые задачи.
4. Создайте модель и миграцию для задачи.
5. Реализуйте API для создания, чтения, обновления и удаления задач.
6. Добавьте возможность фильтрации задач по статусу или дате.

При выполнении задания рекомендуем максимально раскрыть ваши навыки и не
ограничиваться стеком описанным в задании

## Запуск и использование

Для запуска потребуется наличие докера и докер-композа

Подключение по адресу: `http://localhost:8000`

Базу можно просмотреть: `http://localhost:8880`

### Команды make

| команда | действие                                            |
|---|-----------------------------------------------------|
|`init`| 	Используется для первоначальной сборки контейнеров |
|`up`	|Запускает контейнеры|
|`down`|	Останавливает запущенные контейнеры|

## Api

Авторизация Bearer Token
Команда для получения токена 

```bash
docker-compose run --rm php-cli php artisan dev:postman <guard> <id>
```

Базовый URL - `http://localhost:8000/api/`

| Метод     | путь       | действие                                 | параметры |
|-----------|------------|------------------------------------------|-----------|
| GET       | tasks      | Получение списка задач                   | -         |
| POST      | tasks      | Сохранение задачи                        | json      |
| GET       | tasks/{id} | Просмотр задачи с идентификатором - id   | -         |
| PUT/PATCH | tasks/{id} | Изменение задачи с идентификатором - id  | json      |
| DELETE    | tasks/{id} | Изменение задачи с идентификатором - id  | -         |

